﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using main.sdk.display.object2d;
using main.sdk.utils;
using Microsoft.Xna.Framework;

namespace main.sdk.utils.animations2D
{
    /**
     * Cria uma animação para visibilidade.
     * 
     * @usage
     *   // Muda a visibilidade do objeto.
     *   Animation2D anim = new VisibleAnimation2D(true ou false);
     */
    public class VisibleAnimation2D : Animation2D
    {
        #region Variables

        private bool m_Visible = false; 

        #endregion

        #region Constructor

        /**
         * Construtor da animação de visibilidade.
         *
         * @param visible - Nova visibilidade.
         */
        public VisibleAnimation2D(bool visible)
        {
            m_Visible = visible;
        } 

        #endregion

        #region Overriden Methods

        /**
         * Inicializa a animação
         * 
         * @param obj - O Objeto da animação.
         */
        public override void Setup(Object2D obj)
        {
            obj.Visible = m_Visible;
        } 

        #endregion
    }
}
